/*
----------------------------------------------------------------------------------------------------
This source file is part of the Gamut Framework
Copyright (c) 2007 by Ryan Holcombe

This program is free software; you can redistribute it and/or modify it under the terms of the GNU
Lesser General Public License as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
----------------------------------------------------------------------------------------------------
*/


#ifndef _IDesc_h_
#define _IDesc_h_

#include "GamutXMLParser.h"

namespace Gamut
{
	/**
 		Base class which loads xml files for use as class descriptors
	*/

	class IDesc
	{
	protected:
		
		XMLParser mXMLParser;				//!< how the xml file is searched and read
		
	public:
		
		/**
			\brief reads in a file and sets all the variables
			\param[in] file xml file to read [pure virtual]
		*/
		virtual void read(const std::string& file) = 0;
		
	
		/**
			\brief writes all the stored variables to a file
			\param[in] file xml file name to write to [pure virtual]
		*/			
		virtual void write(const std::string& file) = 0;
	};
}



#endif
